home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd1.bin
/
sharewar
/
FFE
/
SOUND.SWG
/
0046_Midi Basics #1.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-05-11
|
7KB
|
147 lines
PC/MIDI BASICS #1: WHAT IS MIDI?
by Richard D. Clark (PCC RichC)
11/19/91
The Musical Instrument Digital Interface was introduced in 1983
by a coalition of musical instrument manufacturers as a standard
protocol with which electronic instruments -- specifically
synthesizers -- could interchange data. At that time, its primary
use was to allow one synth's keyboard to control the sounds of
another, in a "master-slave" relationship. Even its inventors
didn't foresee the complex and varied applications for which MIDI
would be utilized within just a few years.
MIDI is "platform independent." That means that any device which
conforms to the MIDI Specification, and is equipped with MIDI
ports, can talk to and be understood by any other; this includes
computers of different types (IBM, Macintosh, Amiga, Atari).
----------MIDI BASICS
Most users don't need to understand the "innards" of MIDI, just
as knowledge of programming isn't necessary to use a word
processor. To use MIDI hardware and software, you just need a
fundamental understanding of the kinds of data being
interchanged.
MIDI can transmit 16 channels of data simultaneously, in a
process analogous to cable TV: there's only one data stream,
carried by one cable; the "receiver" -- the MIDI device -- sorts
the data into the 16 independent MIDI channels.
MIDI devices, in turn, can be set to respond to all, or only one
MIDI channel. In this manner, one channel can contain "piano"
data, which is recognized only by a synth set to that channel,
while another contains only "bass" data. Whether the synth
*sounds* like a "piano" when it plays that data is dependent on
its own settings and capabilities. If it's set to a "brass"
sound, it will play the "piano" notes using the "brass" sound.
When MIDI data is transmitted, it is usually in "real time" --
with the tempo of the music set by software, or by the person
actually playing the controlling instrument. The exception to
this is "system exclusive" (sysex) data, which is used for
exchanging things like patch banks (sets of sounds) between MIDI
devices.
Each channel carries data about the music being played. Some
kinds of data are:
*Note Data - Note Number, Note On, Note Off. Every note in
the playable musical spectrum has its own unique MIDI note
number. These commands simply transmit information about what key
was pressed and when, and when it was released.
*Velocity Data - Many (but not all) MIDI keyboards can send
a different "velocity" value depending on how hard the key is
struck. Velocity sensitivity is usually used to control volume;
the harder the key is struck, the louder the note sounds, much
like an analog instrument. Velocity values range from 1 (softest)
to 128 (loudest). Many inexpensive or older MIDI keyboards cannot
generate or respond to velocity data.
*Program Change - Most synths can produce a variety of
sounds; each sound has its own identity and program number.
(These sounds are often called "patches," a holdover from the
days when synth programming was done by physically patching
cables between electronic modules.) Groups of patches are usually
organized into "banks;" the number of patches per bank varies
from one synth to the next. A MIDI Program Change command tells
the synth which Program Number -- which of its built-in "sounds"
-- to use when playing the note data.
*Pitch Bend - Data generated by the wheel or joystick
control on the synth that bends notes up or down.
*Controller Data - The MIDI Specification allows for
(potentially) 128 different controllers; some are standardized,
and some are available to be assigned by a manufacturer for a
particular function. Some of the standard controllers are:
Controller #64, Damper Switch (Sustain Pedal); #7, MIDI Volume
(not velocity, but the "volume knob" function, in 128 steps);
#10, Pan Position (left to right in 128 steps); #1, Modulation
Wheel; and several others. Not all devices can respond to all
types of controllers.
It's important to remember that it's up to the receiving device
to interpret the MIDI data stream. Sending note data to the MIDI
IN port of a drum machine will produce drum sounds. If the note
data was supposed to be a "piano" part, the results might be very
interesting, but will not sound like a piano. Similarly, a device
that cannot understand velocity data will simply ignore any
that's received.
----------MIDI PORTS
Most MIDI devices have either two or three MIDI jacks. They will
be labeled, and will function, as follows:
*MIDI IN - Receives data from the MIDI OUT or MIDI THRU of
another MIDI device. Always receives ALL MIDI data present in the
data stream; which data are responded to -- and how -- and which
are ignored, is dependent upon the device's internal settings.
Virtually all MIDI devices have a MIDI IN port.
*MIDI OUT - MIDI data *generated* by the device is output at
this port. Some devices which can respond to MIDI data, but do
not generate any (certain effects devices, for example), will not
include a MIDI OUT port.
*MIDI THRU - The MIDI data stream which appears at the
device's MIDI IN is simply "passed through," unaltered, to this
port. This function allows several MIDI devices to be
"daisy-chained like this:
CONTROLLER MIDI OUT --> DEVICE 1/ MIDI IN
MIDI THRU ----> DEVICE 2/MIDI IN
MIDI THRU ----> Etc.
Some older MIDI devices have only two ports, IN and OUT. Some of
these devices allow you to switch the OUT port to function as a
THRU port; others don't, which means they must be connected at
the end of the "daisy-chain."
----------SUMMARY
*MIDI is a communication protocol, designed primarily for
electronic music.
*MIDI is a platform-independent, universal standard.
*There are 16 MIDI channels, combined into a single data stream.
*MIDI data can include note, velocity, program change, controller
and other data.
*MIDI devices are connected via their MIDI IN, OUT and THRU
ports.
Next:
"PC/MIDI BASICS #2" (MIDI#2.DOC) discusses the hardware interface
between MIDI devices and personal computers (specifically,
IBM-compatibles).
The PC/MIDI BASICS files are published irregularly and available
in the Music & Sound Text Library of the AOL Music and Sound
Forum.
(c)Copyright 1991 by Richard D. Clark/Fundamentally Sound. This
file may be freely distributed only in its original form.
Suggestions/corrections/additions may be e-mailed on America
Online/PCLink to PCC RichC.